cmake_minimum_required(VERSION 3.15)
project(HelloQtOpenGL VERSION 1.0 LANGUAGES CXX)

# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# 包含 Conan 生成的工具链文件
include(${CMAKE_SOURCE_DIR}/conan_build/build/generators/conan_toolchain.cmake)

# Conan 包管理
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets OpenGL)
find_package(OpenGL REQUIRED)

# 打印 Qt5 的安装路径
message(WARNING "qt_BUILD_DIRS_RELEASE: ${qt_BUILD_DIRS_RELEASE}")

# 添加可执行文件
add_executable(${PROJECT_NAME} main.cpp)

# 链接 Qt 和 OpenGL 库
target_link_libraries(${PROJECT_NAME} 
    Qt5::Core 
    Qt5::Gui 
    Qt5::Widgets 
    Qt5::OpenGL 
    OpenGL::GL
)

# 启用 Qt 的自动生成工具（如 MOC、UIC 等）
set_target_properties(${PROJECT_NAME} PROPERTIES
    AUTOMOC ON
    AUTOUIC ON
    AUTORCC ON
)

# 安装配置
install(TARGETS ${PROJECT_NAME}
    RUNTIME DESTINATION bin           # 可执行文件安装到 bin 目录
    LIBRARY DESTINATION lib           # 动态库安装到 lib 目录（如果有）
    ARCHIVE DESTINATION lib           # 静态库安装到 lib 目录（如果有）
)

# install(
#     DIRECTORY ${CMAKE_SOURCE_DIR}/direct_deploy/qt/bin
#     DESTINATION bin
#     FILES_MATCHING
#     PATTERN "*.dll"
# )